home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
updir
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
7KB
Path: seq!spell
From: Detlef Mueller <detlef@mwhh.hanse.de>
Subject: v01i033: updir - UPDIR v1.1 (Bug fix), Part01/01
Newsgroups: comp.sources.hp48
Keywords: UPDIR UP tool bugfix
Organization: M. Witt
Followup-To: comp.sys.hp48
Approved: spell@seq.uncwil.edu
Checksum: 1523641503 (verify with brik -cv)
Submitted-by: Detlef Mueller <detlef@mwhh.hanse.de>
Posting-number: Volume 1, Issue 33
Archive-name: updir/part01
Supersedes: updir: Volume 1, Issue 31
BEGIN_RDME up.rdm
Hi, all.
Forgive me,
the first version of the UP program I post, has a bug. I forget to handle
the temporary menu. The sequence 'GetMenu% %IP>#' returns zero if the
actual menu is the TMENU. In this case 'NTHCOMPDROP' didn't return any
object. This can end up in a memory lost in further actions (this is the
way I detect the bug, system RPL don't forgive any error :-). I hope,
nobody has lost his memory by this way ...
Also the binary download header in the source code was missing (I use a
batch job to compile my programs and link them with a seperate header).
I shouldn't post at 3:00 in the morning ...
END_RDME
Here is the corrected article :
BEGIN_DOC up.doc
In Mar 90 Jake G Schwartz (Jake-S@cup.portal.com) posted an UP function
for built-in Menus.
> ... several of the built-in (ROM) menus in the machine are nested in a
> tree structure as low as three levels deep. The user manual on page 56
> advises that one doesn't traverse these like a tree; one should simply
> go to the new one. In many cases, this requires more than a keystroke
> or two.
...
> If UP is assigned to the UP keyboard key, its use becomes transparent
> when the HP48 is in USER mode. In the first weeks of calculator use, ROM
> menu tree traversal is helpful in order to get a feel for where the
> literally hundreds of functions reside in the machine.
...
> Rules:
> -----
>
> If the current The action of
> menu is: UP is:
> -----------------------------------
> Menu with no LAST MENU
> parent
>
> Menu with a Moves to parent
> parent menu, page of
> parent key
>
> RAM directory UPDIR
>
> Custom Menu LAST MENU
>
Library sub-menu Library menu
TMENU LAST MENU
>
> Jake Schwartz
I've convert UP into system-RPL and add support for library sub-menues.
If you only want to use UP, download UP.ASC into your HP48, execute ASC\->
and store the result into a variable in the HOME directory.
To generate UP, put the listings of UP.S and UP.M in the appropriate files,
then invoke the following commandlines at the MS-DOS (urgh) prompt:
rplcomp up.s up.a
sasm -e -N up.a
sload -H up.m
BTW, could anyone EMAIL me routines to support fast bitblit ? I'll need
them in my PACMAN version (no time to write my own set :-).
Thanks.
Tschuess (German slang of 'bye' =-),
Detlef 8-)
P.S.
I wrote a working RPL decompiler library, 26kb in size. It was a hard
job (I think about a RPL compiler .. :), so maybe I'll release it as
shareware. Any comments ?
Detlef
END_DOC
BEGIN_SRC up.s
*****************************************************************************
* Modulname: Up
* Modultype: Secondary
* Dest.Comp.: HP48
* Language: System RPL
* Author: Detlef Mueller,Nibelungenweg 6,2000 Hamburg 56,W-Germany
* Interface: UP ( --> )
* Description: Derivat for build-in command UPDIR.
* Edition History :
* 0.000 08-11-1991 DM Alpha version
* 1.000 09-04-1991 DM release
* 001 09-05-1991 DM fix TMENU bug, bin. download header
*****************************************************************************
TITLE Up
*****************************************************************************
* OBJECT
*****************************************************************************
ASSEMBLE
=%18 EQU #1CDF2 Not 'supported' (Why ??? It is the object
* followed by %19)
NIBASC /HPHP48-E/ Binary download header
RPL
::
CK0NOLASTWD
GetMenu% %IP># ( *Get menu nr, convert IP to #* )
TWO
#=casedrop
UPDIR ( *In VAR menu, do simple UPDIR* )
DUP SIXTY
#<ITE
:: { %0 %0 %0 %3 %3
%3 %3 %3 %3 %0
%10 %10 %10 %10 %10
%10 %0 %0 %18 %0
%0 %0 %0 %0 %24
%24 %24 %0 %0 % 29
%0 % 31 % 32 %0 %0
% 35 % 35 % 37 % 35 %0
% 40.04 %0 % 42 % 42 % 42
% 42 % 42 % 42 % 42.02 % 42.02
% 40.02 % 40.02 % 42.02 % 42.02 % 42.03
% 42.03 % 42.03 % 42.03 % 42.0
}
SWAP NTHELCOMP ( *determine menu parent* )
NOTcase ( *Not in list, must be TMENU* )
%0 ( *so do LASTMENU* )
;
:: DROP %24 ( *From a library submenu do LIBRARY* )
;
InitMenu%
;
END_SRC
BEGIN_SRC up.m
SUpress XRef
OUtput up
LLu up.lr
SEarch entries.o
RElocate up.o
END_SRC
BEGIN_ASC up.asc
%%HP: T(3)A(R)F(.);
"D9D2051A819C51411CE2300403D816F61A1881302BB46D9E36D9D2047A204B2A
24B2A24B2A23F2A23F2A23F2A23F2A23F2A23F2A24B2A27E0567E0567E0567E0
567E0567E0564B2A24B2A22FDC14B2A24B2A24B2A24B2A24B2A210DC110DC110
DC14B2A24B2A23392010000000000009204B2A23392010000000000001303392
010000000000002304B2A24B2A23392010000000000005303392010000000000
005303392010000000000007303392010000000000005304B2A2339201000000
0000400404B2A233920100000000000024033920100000000000024033920100
0000000000240339201000000000000240339201000000000000240339201000
0000000002403392010000000000202403392010000000000202403392010000
0000002004033920100000000002004033920100000000002024033920100000
0000020240339201000000000030240339201000000000030240339201000000
000030240339201000000000030240339201000000000000240B2130322306B6
50DA9164B2A2B2130D9D204423010DC1B213097614B2130DD48"
END_ASC
BYTES: #84DDh 414
BEGIN_UU up.uu
begin 644 up.bin
M2%!(4#0X+46=+5"A&,D5%,$N`T`PC6%OH8$8`[)+UNECG2U`IP*THD(K*K2BV
M,B\J\Z(R+RKSHC(O*O.B0BLJYU!V#F7G4'8.9>=0=@YEM*)"*RKRS4$K*K2B8
M0BLJM*)"*RH!S1'0'`'-02LJM*(RDP(!``````"0`K2B,I,"`0``````$`,SR
M*1`````````R0"LJM*(RDP(!``````!0`S,I$````````#4PDP(!``````!P5
M`S,I$````````#5`*RHS*1````````1`0"LJ,RD0````````0C"3`@$`````-
M`"`$,RD0````````0C"3`@$``````"`$,RD0````````0C"3`@$``````"`$.
M,RD0```````"0C"3`@$`````("`$,RD0```````"0#"3`@$`````(``$,RD0L
M```````"0C"3`@$`````("`$,RD0```````#0C"3`@$`````,"`$,RD0````A
M```#0C"3`@$`````,"`$,RD0````````0K`2`R,R8&L%K1E&*RHK,=#9`D0R@
+$-`<*S&09T$K,0`K#
``
end
END_UU
--
+-----------------------------------+---------------------------------------+
| `What a depressingly | Detlef Mueller |
| stupid machine` | detlef@mwhh.hanse.de |
| Marvin in THGTTG, part II, p.48 |...!uunet!mcsun!unido!mcshh!mwhh!detlef|
+-----------------------------------+---------------------------------------+